import struct
import socket

client = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

def tcp_send(send_byest):
    """
    send火车，就是把某个字节流内容以火车形式发出
    :return:
    """
    #train火车头==要传的字节流内容大小
    train_head_bytes = struct.pack('I',len(send_byest))
    #注意数据的顺序
    client.send(train_head_bytes+send_byest)

    def tcp_recv():
        #recv先接火车头，一般四个字节足够
        train_head_bytes = client.recv(4)
        #注意unpack传回来的是一个元组
        train_head = struct.unpack('I', train_head_bytes)
        #将recv接收的字节流传回去，注意不要decode，以避免不必要的麻烦和报错
        return client.recv(train_head[0])